Skip to content

ci: add bounded Windows PR canary - #10

Merged
Eli Pinkerton (wallstop) merged 7 commits into
mainfrom
agent/bounded-windows-pr-canary
Jul 19, 2026
Merged

ci: add bounded Windows PR canary#10
Eli Pinkerton (wallstop) merged 7 commits into
mainfrom
agent/bounded-windows-pr-canary

Conversation

@wallstop

@wallstop Eli Pinkerton (wallstop) commented Jul 19, 2026

Copy link
Copy Markdown

Summary

  • add a trusted same-repository PR canary with exactly one Unity 2022.3.62f3 / StandaloneWindows64 leg
  • fail closed through hosted runner preflight, exact-head guards before and after FIFO admission, stable physical-runner FIFO identity, lifecycle-aware acquire/release, and a truthful aggregate
  • stop retries without positive cleanup proof and add one bounded in-attempt activation cooldown retry
  • repair isolated upstream verifier dependencies and remove the Windows runtime sh dependency exposed by the live canary
  • replace the impossible weekly licensed community build with a zero-Unity, least-privilege registry contract

Unity CI cost

  • same-repository PR: exactly 1 licensed Windows smoke leg
  • fork / Dependabot / push: 0 licensed legs, explicitly reported as unlicensed
  • workflow_dispatch default: preflight-only, 0 licensed legs
  • full 15-leg matrix: explicit manual opt-in only

Verification

  • final exact-head checks green: Windows, Integrity, orchestrator compatibility
  • live preflight-only dispatch green with the licensed matrix skipped: 29674951750
  • live cancellation after successful paid activation/build entry produced resourceSafe=false, runner quarantine, failed proof verification, and failed aggregate: 29675374467
  • corrected ELI-MACHINE recovery cycle proved activation, build, positive entitlement/ULF return, cleanup-confirmed, and clean release before exact-ID recovery
  • lock state after recovery/reaping: no queue, reservation, or incident from this work
  • actionlint; RC001-RC019; PowerShell cleanup/classifier/activation cases; 10 workflow-policy tests; 365 Vitest tests (2 skipped); 157 focused versioning tests; typecheck; formatting; lint with zero errors
  • three independent adversarial review loops: zero issues

Closes game-ci#43.


Note

Medium Risk
Changes org Unity lock admission, licensed credential gating, and cleanup proof semantics on self-hosted Windows; misconfiguration could waste seats or release locks incorrectly, though the workflow is heavily fail-closed and contract-tested.

Overview
Adds a bounded same-repo PR canary for Windows Unity builds (one smoke leg by default) while keeping the full matrix behind explicit workflow_dispatch full mode and defaulting dispatch to preflight-only.

The Builds - Windows workflow now selects matrix size by event/mode, runs on pull_request to main with concurrency that does not cancel in-progress licensed work, and gates forks, Dependabot, and push to zero licensed legs with an aggregate job that enforces expected skip/success outcomes. Licensed paths add exact PR head checks (hosted and on the runner before/after lock admission), runner preflight, stable runner.name lock identity, lifecycle-aware acquire/release with classifier-driven resource-reason, and build retries only when resourceSafe is true; release cooldown is lowered to 1 second for bounded in-attempt retry.

Validate Community Plugins drops weekly Unity build matrix jobs in favor of a zero-seat registry contract (community-plugin-matrix.mjs) with minimal permissions. Upstream sync copies workflow-credential-policy.mjs alongside the lifecycle verifier so isolated runs satisfy imports.

Generated dist updates versioning to use native git calls for diff logging and version-tag detection instead of sh/grep/head, fixing Windows runner compatibility for semantic versioning during the canary.

Reviewed by Cursor Bugbot for commit 02d6f34. Bugbot is set up for automated code reviews on this repo. Configure here.

Copy link
Copy Markdown
Author

Exact head 9464d28b5641b0181b3ef6940d965809f7a01d11 is ready for automated review. Cursor (@cursor) review

@copilot review

Please inspect the bounded Unity-run truth table, stale-head/FIFO lifecycle, cleanup-proof-gated retries, and zero-Unity community registry rewrite.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Copy link
Copy Markdown
Author

Fresh head 41d43ce7 is pushed. The live Windows canary RCA is complete: the action no longer depends on sh for versioning, the aggregate verifier now executes its Bash cases on Windows CI, and all three independent adversarial reviews report zero issues. Local evidence: 365 tests pass (2 skipped), 157 focused versioning cases pass, typecheck/policy/RC001–RC019/format pass, and lint has zero errors. Cursor (@cursor) review @copilot review

Copy link
Copy Markdown
Author

Final generated-artifact correction is pushed at 235afca. The two Git-clean blobs exactly match the Linux/x64 Node 18 files produced by the failed Integrity run (50207bac…, 37d752cd…). Three independent adversarial reviewers report zero issues; the prior bounded Windows run is fully green with exactly one licensed leg and successful cleanup/release. Cursor (@cursor) review @copilot review

Copy link
Copy Markdown
Author

Battle-test RCA pushed at 02d6f34: acquire/release now use the pinned v1.8.3 stable physical runner identity, restoring same-runner quarantine reclaim; cleanup classification now emits only v1.8.3 allowlisted, cross-field-valid reason/status pairs. Cancellation live test proved Unity activation, fail-closed quarantine, red proof verification, and red aggregate. Full/focused local gates pass and all three adversarial reviewers report zero issues. Cursor (@cursor) review @copilot review

@wallstop
Eli Pinkerton (wallstop) marked this pull request as ready for review July 19, 2026 06:18
@wallstop
Eli Pinkerton (wallstop) merged commit ceb6418 into main Jul 19, 2026
18 of 19 checks passed

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 02d6f34. Configure here.

Comment thread .github/workflows/build-tests-windows.yml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants